package com.hbnrtech.sip.gb28181.handler.dto;

import lombok.Data;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;

/**
 * JAXB DTO for the root <Response> element of a Catalog response.
 */
@Data
@XmlRootElement(name = "Response") // 对应 XML 根元素 <Response>
@XmlAccessorType(XmlAccessType.FIELD) // JAXB 通过字段访问
public class CatalogResponse {

    @XmlElement(name = "CmdType") // 对应 <CmdType>
    private String cmdType;

    @XmlElement(name = "SN")      // 对应 <SN>
    private Long sn;             // 序列号，通常是数字

    @XmlElement(name = "DeviceID") // 对应 <DeviceID> (父设备ID)
    private String deviceId;

    @XmlElement(name = "SumNum")   // 对应 <SumNum>
    private Integer sumNum;        // 设备/通道总数

    @XmlElement(name = "DeviceList") // 对应 <DeviceList>
    private DeviceList deviceList; // 嵌套的 DeviceList 对象
}
